1 Intro
La documentación oficial de Webr nos dice que:
WebR is a version of the statistical language R compiled for the browser and Node.js using WebAssembly, via Emscripten.
Así que con Webr tenemos la posibilidad de ejecutar R en el navegador. Genial!!, pero ¿cómo funciona?
2 quarto-webr
quarto-webr es una extensión de Quarto que facilita la inserción de chunks de código WebR en varios formatos de Quarto: HTML, RevealJS, Websites, Blogs, and Books.
Aquí tienes la documentación de quarto-webr, y aquí tienes un post llamado “Playing with webr” que si te fijas te permite descargarte el documento fuente
3 ¿Cómo usamos quarto-webr?
Para empezar a usar Webr no hace falta más que este video. Básicamente hay que:
- añadir la extensión:
- Para usarla hay que añadir
webren el YAML, también hay que ponerengine: knitr. Además se pueden añadir paquetes adicionales: El YAML podría quedar como:
---
title: webR in Quarto HTML Documents
format: html
engine: knitr
filters:
- webr
webr:
packages:
- "dplyr"
- "ggplot2"
---
This is a webr-enabled code cell in a Quarto HTML document.
```{webr-r}
fit = lm(mpg ~ am, data = mtcars)
summary(fit)
```
- Y ya podríamos introducir en nuestros
.qmd, chunks de código R ejecutables. Para ello solo hay que marcar los chunks with{webr-r}en lugar de con{r}. Algo como:
Lo bueno de estos nuevos webr-chunks es que son editables y se pueden ejecutar en el navegador.
4 Un ejemplo
Un ejemplo de celda/chunk de Webr
Si escribes esto:
Generará la siguiente celda:
5 Más ejemplos
Aquí se usa
webr. Una cosa que hace es instalar un paquete con el sistema propio de WebR con:webr::install("ggplot2"); aunque esto puede estar superado pues se pueden cargar pkgs no R-base desde el YAML. Lo investigaré. Sí ahora se puede usar el YAML para “instalar” paquetes, pero supongo que también funcionará el método anteriorAquí otro tutorial. Habla de Bob Rudis
Aquí una web con varios ejemplos de uso de WebR. Aquí está el repo.
Un post de Bob Rudis que fue de los primeros en trabajar en WebR
Nicola Rennie explica en este toot que ha hecho un Shiny con WebR. La ventaja es que puedes hacer el deply sin teer R en el backend. Otro toot con una charla de Nicola.
Un video de 16 minutos y sus slides para posit::conference 2023
6 Algunas noticias sobre WebR
WebR es bastante nuevo, así que hasta que se “estabilice la cosa” y yo pilote un poco, apuntaré aquí algunas news sobre WebR:
la extensión quarto-webr ya está en la version 0.4
Parece que había problemas para usar Webr en revealjs slides. Con Quarto 1.4 ya está solucionado, parece que era un problema de Pandoc, pero aquí está la issue. La guardo porque tiene cosas como, por ejemplo, hacer un downgrade de una extensión.
Se ha creado una Awesome WebR list.